package com.xyy.saas.payment.payment.core.dto;


import java.util.Date;

/**
 * @author chenshuyi
 */
public class PrepayDto{

    /**
     * 支付渠道，比如使用ping++就传入ping++的key
     */
    private String paymentChannel;

    /**
     * 通道需要的商户订单号
     * 不能为空、空串
     * 历史唯一
     */
    private String channelOrderNo;

    /**
     * 预支付的金额
     * 不能为空
     * 不能为非正数
     */
    private Integer amount;

    /**
     * 3 位 ISO 货币代码，小写字母，人民币为 cny
     * 详细说明：https://www.pingxx.com/api/%E8%B7%A8%E5%A2%83%E6%B8%A0%E9%81%93%20currency%20%E8%AF%B4%E6%98%8E.html
     * 不能为空、空串
     * 货币代码存在
     * 默认为人民币
     */
    private String currency;

    /**
     * 不能为空、空串
     * 不能存在特殊字符
     */
    private String subject;

    /**
     * 不能为空、空串
     * 不能存在特殊字符
     */
    private String body;

    /**
     * 符合URL的规范
     */
    private String callbackUrl;
    /**
     * 商户的ID
    */
    private String businessId;
    /**
     * 由userId取代，保证扩展性
     */
    private String userId;

    /**
     * 业务订单号
     */
    private String businessOrderNo;

    /**
     * 支付渠道
     */
    private String channel;

    /**
     * 佣金
     */
    private Integer commission;

    /**
     * 业务类型
     */
    private String businessType;

    /**
     * 订单类型 目前不用了
     */
    private String orderType;

    /**
     * 支付渠道需要的额外参数
     */
    private String extra;

    /**
     * 签约协议号
     */
    private String contractCode;

    /**
     * 业务id类型
     */
    private String businessIdType;

    /**
     * 业务线订单类型
     */
    private String businessOrderType;

    /**
     * 订单过期时间
     */
    private Date timeExpire;

    /**
     * 付款方id
     */
    private String payerId;

    /**
     * 付款方昵称
     */
    private String payerName;

    /**
     * 付款方昵称
     */
    private String sellerName;

    /**
     * 移动端类型
     */
    private String mobileTerminalType;

    public String getPaymentChannel() {
        return paymentChannel;
    }

    public void setPaymentChannel(String paymentChannel) {
        this.paymentChannel = paymentChannel;
    }

    public String getChannelOrderNo() {
        return channelOrderNo;
    }

    public void setChannelOrderNo(String channelOrderNo) {
        this.channelOrderNo = channelOrderNo;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public String getCallbackUrl() {
        return callbackUrl;
    }

    public void setCallbackUrl(String callbackUrl) {
        this.callbackUrl = callbackUrl;
    }

    public String getBusinessOrderNo() {
        return businessOrderNo;
    }

    public void setBusinessOrderNo(String businessOrderNo) {
        this.businessOrderNo = businessOrderNo;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public Integer getCommission() {
        return commission;
    }

    public void setCommission(Integer commission) {
        this.commission = commission;
    }

    public String getBusinessId() {
        return businessId;
    }

    public void setBusinessId(String businessId) {
        this.businessId = businessId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getExtra() {
        return extra;
    }

    public void setExtra(String extra) {
        this.extra = extra;
    }

    public String getOrderType() {
        return orderType;
    }

    public void setOrderType(String orderType) {
        this.orderType = orderType;
    }

    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getBusinessIdType() {
        return businessIdType;
    }

    public void setBusinessIdType(String businessIdType) {
        this.businessIdType = businessIdType;
    }

    public String getBusinessOrderType() {
        return businessOrderType;
    }

    public void setBusinessOrderType(String businessOrderType) {
        this.businessOrderType = businessOrderType;
    }

    public Date getTimeExpire() {
        return timeExpire;
    }

    public void setTimeExpire(Date timeExpire) {
        this.timeExpire = timeExpire;
    }

    public String getPayerId() {
        return payerId;
    }

    public void setPayerId(String payerId) {
        this.payerId = payerId;
    }

    public String getPayerName() {
        return payerName;
    }

    public void setPayerName(String payerName) {
        this.payerName = payerName;
    }

    public String getSellerName() {
        return sellerName;
    }

    public void setSellerName(String sellerName) {
        this.sellerName = sellerName;
    }

    public String getContractCode() {
        return contractCode;
    }

    public void setContractCode(String contractCode) {
        this.contractCode = contractCode;
    }

    public String getMobileTerminalType() {
        return mobileTerminalType;
    }

    public void setMobileTerminalType(String mobileTerminalType) {
        this.mobileTerminalType = mobileTerminalType;
    }
}

